package com.wang.learn.common.utils;

import java.lang.reflect.Array;
import java.util.Collection;
import java.util.Map;

/**
 * 类描述：
 *  基础的数据校验，主要是判断数据是否为null或者是空白字符
 * @author Charles
 * @time 2021/9/30 13:09
 */
@Deprecated
public class Inspections {

    /**
     * 各种类型的null判断。
     */
    public static boolean isEmpty(CharSequence cs){return cs==null||cs.length()==0;}

    public static boolean isEmpty(Collection<?> collection){
        return collection==null||collection.isEmpty();
    }

    public static boolean isEmpty(Map<?,?> map){
        return map==null||map.size()==0;
    }

    public static boolean isEmpty(boolean[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(byte[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(short[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(char[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(int[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(long[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(float[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(double[] arr){
        return arr==null||arr.length==0;
    }

    public static boolean isEmpty(Object[] arr){
        return arr==null||arr.length==0;
    }

    /**
     * 判断对象是否为null
     * @param obj
     * @return
     */
    public static boolean isEmpty(Object obj){
        if (obj == null) {
            return true;
        } else if (obj instanceof CharSequence) {
            return isEmpty((CharSequence) obj);
        } else if (obj instanceof Collection) {
            return isEmpty((Collection<?>) obj);
        } else if (obj instanceof Map) {
            return isEmpty((Map<?, ?>) obj);
        } else if (obj.getClass().isArray()){
            return Array.getLength(obj)==0;
        } else {
            return false;
        }
    }
    /**
     * 判断字符串是否是空白或者是空
     * @return
     */
    public static boolean isBlank(CharSequence cs){
        if(isEmpty(cs))
            return true;
        for (int i = 0; i < cs.length(); i++) {
            if(!Character.isWhitespace(cs.charAt(i)))
                return false;
        }
        return true;
    }



}
